package com.java.abstract_;

/**
 * 抽象 - 子类
 */
public class Child extends Parent {
    @Override
    public void publicFunc() {
        System.out.println("子类公共成员方法");
    }
    
    @Override
    public void grandAbstractFunc() {
        System.out.println("子类中提供抽象方法的具体实现");
    }
    
    public static void main(String[] args) {
        // 抽象类的构造函数只用于继承中的父类初始化，不能实例化new抽象类，可使用匿名内部类写法
        // Grand grand = new Grand();
        Grand grand = new Grand() {
            @Override
            public void grandAbstractFunc() {}
        };
        
        Child child = new Child();
        child.publicFunc(); // 子类公共成员方法
        child.grandAbstractFunc(); // 子类中提供抽象方法的具体实现
    }
}
